package cn.com.captureNetPacket.service;

import cn.com.captureNetPacket.model.ParamCondition;
import cn.com.captureNetPacket.model.WebResult;

/**
 * 共同接口，提供统一的增删改查操作
 * 
 * @author WuPan
 * @date 2020-06-28
 *
 */
public interface EntityService<T> {

	/**
	 * 添加
	 * @param entity
	 */
	WebResult create(T entity);
	/**
	 * 删除
	 * @param entity
	 */
	WebResult remove(T entity);
	/**
	 * 修改
	 * @param entity
	 */
	WebResult modify(T entity);
	/**
	 * 条件查询+翻页
	 * @param currentPage
	 * @param size
	 * @param paramCondition
	 * @return
	 */
	WebResult searchByCondition(Integer currentPage, Integer size,ParamCondition<T> paramCondition);
	/**
	 * 查询全部
	 * @return
	 */
	WebResult searchAll();
	/**
	 * 分页查询
	 * @param currentPage 当前页
	 * @param size 查询条数
	 * @return
	 */
	WebResult searchByPaging(Integer currentPage, Integer size);
}
